from openai import OpenAI


def get_redbook_note_content(jq_name):
    '''
    让AI写一篇小红书种草笔记
    我用的 阿里云 免费的 qwen2-1.5b-instruct
    这个模型 肯定没有收费的好。大家有条件的 可以用收费的。
    写出来的文章更好
    '''

    prompt_str = f'''
#背景#

你很擅长编写小红书种草笔记，喜欢在文章中加入丰富的emoji表情来增加趣味性和吸引力。

#目的#

请根据以下要求撰写一篇关于{jq_name}的小红书种草笔记。这篇笔记旨在向读者推荐这个景区，并激发他们前往参观的兴趣。

#受众#

- 喜欢旅游的人 
- 热爱探索新地方、享受旅行乐趣的人

#输出要求#

- **格式**：遵循小红书的文章格式。
- **内容**：简洁但信息量丰富，确保内容真实可信，采用第一人称叙述方式，仿佛自己亲身经历过一样。
- **风格**：使用大量emoji表情符号以增强文章的视觉效果和阅读体验；语气真诚热情，让读者感受到你对{jq_name}的喜爱以及它作为旅游目的地的价值。
- **目标**：通过你的描述使读者相信{jq_name}是一个非常值得一游的地方。
- 使用富有情感共鸣或好奇心驱动的表达方式
- 突出这个景区的独特魅力（如历史、艺术价值或自然风光）。
- 文中不能出现“小红书”这三个字
- 不能出现政治敏感词


 #语气与风格指南#
- 保持积极乐观的态度，用词生动形象。 
- 强调个人体验感，分享一些独特的发现或故事。 
- 结尾处可以提出一些建议或者提示，比如最佳游览时间、必看景点等，鼓励读者亲自去探索。 

请基于以上指导方针创作一篇关于{jq_name}的小红书种草笔记。

'''

    client = OpenAI(
        api_key="",    # 大模型的key。请大家自行申请
        base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
    )
    try:
        completion = client.chat.completions.create(
            model="qwen2-1.5b-instruct",
            messages=[{'role': 'system', 'content': '你是一个小红书资深种草博主，非常擅长写种草热门文章, 文笔幽默诙谐！'},
                      {'role': 'user', 'content': prompt_str}],
            # stream=True,
            # 可选，配置以后会在流式输出的最后一行展示token使用信息
            # stream_options={"include_usage": True}
            )
    except Exception as e:
        print(e) 

    # print(completion.choices[0].message.content)
    # completion_json = completion.model_dump_json()
    message_content_str = completion.choices[0].message.content

    # print(message_content_str)
    return message_content_str
    

    #print(completion, type(completion))
    #for chunk in completion:
        #print(chunk)
        #a = chunk.choices[0].delta.content
        #print(a)


def get_redbook_note_title(jq_name):
    '''
    让AI写一个吸引人的标题
    '''

    prompt_str = f'''
#背景#

我擅长为小红书创作种草笔记标题，特别是那些能够吸引年轻女性用户的文案。

#目标#

为“{jq_name}”设计一个极具吸引力的小红书标题，让受众一眼就被吸引，忍不住点击进入文章深入了解。

#受众分析#
- 年轻女性为主，追求时尚与个性化的旅行体验。
- 喜欢探索小众、文艺、有故事感的景点。
- 对拍照打卡、文化深度游感兴趣。

#标题要求#
- 突出这个景区的独特魅力（如历史、艺术价值或自然风光）。
- 使用富有情感共鸣或好奇心驱动的表达方式。
- 融入流行元素或热门关键词，增强传播性。
- 字数控制在 15-20 字左右，简洁有力，易于记忆。

#参考#
【甘肃炳灵寺｜藏在黄河边的千年佛国秘境】
'''

    client = OpenAI(
        api_key="",
        base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
    )

    try:
        completion = client.chat.completions.create(
            model="qwen2-1.5b-instruct",
            messages=[{'role': 'system', 'content': '你是一个小红书资深种草博主，非常擅长写种草热门文章, 文笔幽默诙谐！'},
                      {'role': 'user', 'content': prompt_str}],
            # stream=True,
            # 可选，配置以后会在流式输出的最后一行展示token使用信息
            # stream_options={"include_usage": True}
            )
    except Exception as e:
        print(e)


    title_str = completion.choices[0].message.content
    # print(title_str)
    return title_str


if __name__ == '__main__':
    # get_redbook_note_title("故宫博物院")

    # get_redbook_note_content("临夏州炳灵寺世界文化遗产旅游区")

    pass

